home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- *
- * NSSDC/CDF Header file for CDFcompare.
- *
- * Version 1.1, 25-Feb-92, ST Systems (STX)
- *
- * Modification history:
- *
- * V1.0 23-Sep-91, J Love Original version (for CDF V2.1).
- * V1.1 25-Feb-92, J Love IBM PC port.
- *
- ******************************************************************************/
-
- /******************************************************************************
- * Function Prototypes.
- ******************************************************************************/
-
- #if defined(vms) | defined(__MSDOS__)
- Boolean EquivalentDataTypes (long, long);
- long DataTypeSize (long);
- Boolean CompareCDFs (char *, char *);
- Boolean CompareGeneral (void);
- Boolean CompareEntry (char *, long, long, char *);
- Boolean CompareAttributes (void);
- Boolean CompareAttributeEntries (long, long, char *);
- Boolean CompareVariables (void);
- Boolean CompareVariableValues (long, long, char *);
- Boolean AttrNumberMatches (void);
- Boolean VarNumberMatches (void);
- void CleanupComparison (void);
- void ROWtoCOL (void *, void *, long, long *, long);
- void COLtoROW (void *, void *, long, long *, long);
- Boolean SameVarys (long, long, long, long *, long *);
- Boolean StatusHandler (char *, CDFstatus);
- #endif
-
- #if defined(unix)
- Boolean EquivalentDataTypes ();
- long DataTypeSize ();
- Boolean CompareCDFs ();
- Boolean CompareGeneral ();
- Boolean CompareEntry ();
- Boolean CompareAttributes ();
- Boolean CompareAttributeEntries ();
- Boolean CompareEntry ();
- Boolean CompareVariables ();
- Boolean CompareVariableValues ();
- Boolean AttrNumberMatches ();
- Boolean VarNumberMatches ();
- void CleanupComparison ();
- void ROWtoCOL ();
- void COLtoROW ();
- Boolean SameVarys ();
- Boolean StatusHandler ();
- #endif
-
- /******************************************************************************
- * Increment to next set of indices, column majority.
- ******************************************************************************/
-
- #define INCRindicesCOL(numDims,dimSizes,indices) { \
- int _z_; \
- for (_z_ = 0; _z_ < numDims; _z_++) { \
- if (indices[_z_] == dimSizes[_z_] - 1) \
- indices[_z_] = 0; \
- else { \
- indices[_z_]++; \
- break; \
- } \
- } \
- }
-
- /******************************************************************************
- * Increment to next set of indices, row majority.
- ******************************************************************************/
-
- #define INCRindicesROW(numDims,dimSizes,indices) { \
- int _z_; \
- for (_z_ = numDims - 1; _z_ >= 0; _z_--) { \
- if (indices[_z_] == dimSizes[_z_] - 1) \
- indices[_z_] = 0; \
- else { \
- indices[_z_]++; \
- break; \
- } \
- } \
- }
-
- /******************************************************************************
- * Convert string to uppercase.
- ******************************************************************************/
-
- #define Upcase(string) { \
- int _i_; \
- for (_i_ = 0; string[_i_] != NUL; _i_++) \
- if (islower(string[_i_])) string[_i_] = toupper(string[_i_]); \
- }
-